#include <stdio.h>
//指向函数指针数组的指针

typedef int(*int_t)(int, int)

int Div(int x, int y)
{
    return x/y;
}

int Mul(int x, int y)
{
    return x*y;
}

int Sub(int x, int y)
{
    return x-y;
}

int Add(int x, int y)
{
    return x+y;
}

int main()
{
    int (*pfarr1[5])(int, int) = {0, Add, Sub, Mul, Div};
    //pfarr与[]先结合表示pfarr为数组，元素类型为int (*)(int, int)
    int (*(*ppfarr1)[5])(int, int) = &pfarr1;
    //ppfarr与*先结合表示ppfarr为指针，再与方块结合表示指向的是数组，数组元素类型为int (*)(int, int)
    int_t* pfarr2[5] = {0, Add, Sub, Mul, Div};
    int_t (*ppfarr2)[5] = &pfarr2;
    return 0;
}